<template>
<!-- 问题 我们不知道什么时候拿到 max 值  -->
<!-- 我们可以使用 watch 属性监听 父组件传递过来的 max值 不管 watch 会触发几次
但是最后一次 肯定是合法的max 的值 -->
<div class="mui-numbox" data-numbox-step='1'  data-numbox-min='1' data-numbox-max='max'>
  <button class="mui-btn mui-btn-numbox-minus" type="button">-</button>
  <input class="mui-numbox-input" type="number" value="1" 
  @change="countChanged" ref="numbox"/>
  <button class="mui-btn mui-btn-numbox-plus" type="button">+</button>
</div>

</template>

<script>

//需要导入 mui 包 进行对按钮的初始化
import mui from '../../lib/mui/js/mui.min.js'

export default {
    data(){
        return {}
    },
    mounted(){
        mui(".mui-numbox").numbox();
    },
    methods:{
        countChanged(){ //每当文本框的数据被修改的时候 立即把 最新的数据 通过事件调用 传递给父组件

            //使用ref 后去表单的所有内容
            // console.log(this.$refs.numbox.value)
            //当点击子组件的按钮的时候，如何 拿到父组件传递过来的 funct 方法 并调用
            //emit 英文愿意： 是触发，调用，发射的意思
            this.$emit('getcount',parseInt(this.$refs.numbox.value))//第二个参数之后 都是可以传的参数
           
            

        },
        props:["max"],
        watch: {
            //属性监听
            max:function(newVal,oldVal){
                //使用 js api 设置 numbox 的最大值
                mui(".mui-numbox").numbox().setOption('max',newVal)
            }
        },
    }
}
</script>

<style lang="scss" scoped>

</style>
